Eye-tracking using a gpu

ABSTRACT

Provided is a method of determining a gaze point of an eye watching a visual display controllable by a display signal. The method comprises generating a display signal using a graphics card in order for the visual display to produce a screen pattern; receiving a signal encoding an image of the eye including a corneo-scleral reflection of the screen pattern; and determining, based on in part the geometry of said reflection, a gaze point of the eye, wherein said determining a gaze point includes utilising the graphics card as a parallel processor. 
     The image of the eye may be received directly at the graphics card. The graphics card may extract image features in the eye images. Reference illuminators may be used, and the screen pattern may be interlaced with a distinctive reference pattern. 
     Further provided are a gaze-tracking system and a personal computer system adapted to determine a gaze point of a viewer.

TECHNICAL FIELD

The invention disclosed herein generally relates to eye tracking(determination of gaze point or gaze angle) using a computer system. Inparticular, the invention provides an efficient implementation of datainput, data output and data processing for determining the gaze point ofan eye watching a visual display forming part of a portable orstationary personal computer system, or a communication device withimaging and computing capabilities, such as a mobile telephone.

BACKGROUND

Monitoring or tracking eye movements and detecting a person's gaze pointcan be used in many different contexts. Eye tracking data can be animportant information source in analysing the behaviour or consciousnessof the person. It can be used both for evaluating the object at whichthe person is looking and for evaluating the respective person. Thediverse uses of gaze point detection include studies on the usability ofsoftware and different types of interfaces; evaluation of web pages,advertising and advertisements; provision of means for educating pilotsin simulator environments and for training surveillance personnel insecurity-critical roles; and research in psychology, behaviouralsciences and human perception. A field which has attracted an increasinginterest in recent years is the evaluation of advertising and othermarketing channels.

Eye tracking techniques can also be used for interaction: a user cancontrol a computer by just looking at it. Eye control can be applied assole interaction technique or combined with keyboard, mouse, physicalbuttons and voice. Eye control is used in communication devices fordisabled persons and in various industrial and medical applications.

While eye tracking systems are utilised in a growing range ofapplications, they are not yet flexible enough to belong to the standardequipment of new laptops and desktops although web cameras do. Moststandard-type web cameras, having a resolution of a few million pixels,would provide sufficient optical quality for eye-tracking purposes. Ifneeded, it is easy to provide supplementary illuminators around orbehind the display screen (cf. applicant's co-pending European PatentApplications EP 09 157104 and EP 09 157106, which are included herein byreference in their entirety), possibly as detachable units. However, thecomputational complexity of eye tracking may be enough to dissuade acomputer vendor from including such capabilities, as some eye trackingimplementations occupy a large part of the input/output capacity, memoryresources and data processing capacity of the central processing unit(CPU) when run on a personal computer in real time. Such occupancy isdetrimental to other functions of the computer; notably it may slow downexecution of other processes and increase their latency. Thus, there isa need for improved computer implementations of eye tracking.

SUMMARY OF THE INVENTION

An object of the present invention is to provide an improved, moreefficient computer implementation of gaze tracking of an eye watching avisual display. Another object of the present invention is to provide animplementation that, compared to available implementations, interferesless with simultaneous processes executed on the same the computer.

A further object of the invention is to provide a gaze tracking system,in which transmission, storage and processing resources are usedefficiently.

Yet another object is to provide a gaze tracking system that can beintegrated in a personal computer system (e.g., desktop or laptopcomputer, notebook, netbook, smartphone, personal digital assistant,mobile camera and other devices having a graphics card or dedicatedgraphical processing facility) without interfering with other tasksexecuted on the computer. A further object is to provide a gaze trackingsystem suitable for real-time operation.

At least one of these objects is achieved by a method, computer-readablemedium, gaze tracking system and personal computer system, as set forthin the independent claims. The dependent claims define embodiments ofthe invention.

In the context of the present application, the term ‘geometry’ (e.g.,the geometry of the corneo-scleral reflection), refers to both its size,position and shape, thus, to the totality of geometric transformationswhich the screen pattern undergoes at reflection. A CPU is a defaultdata processing resource and a universal serial bus (USB) is a defaultinterface for an imaging device. A graphics card (also known as videocard, video adapter, video board, video controller, display adapter andgraphics accelerator) is an integrated circuit that generates the videosignal sent to a computer display. The card is usually located on thecomputer motherboard or is a separate circuit board, but is sometimesbuilt into the computer display unit. It contains a digital-to-analoguemodule, as well as memory chips that store display data. Graphics cardsare manufactured and sold under a variety of trademarks, such asFireGL™, FirePro™, Flipper™, GeForce™, Hollywood™, Mobility FireGL™,Nvidia™, Quadro™, Radeon™, Rageu™, Reality Synthesizer™, Tesla™, Xenos™and XGPU™.

In a first aspect of the invention, there is provided a method ofdetermining a gaze point of an eye watching a visual display, which iscontrollable by a display signal. The method comprises:

generating a display signal using a graphics card in order for thevisual display to produce a screen pattern;

receiving a signal encoding an image of the eye including acorneoscleral reflection of the screen pattern; and

determining, based on in part the geometry of said corneo-scleralreflection of the screen pattern, a gaze point of the eye,

wherein said determining a gaze point includes utilising the graphicscard as a parallel processor.

The above method involves assignment of certain data processing tasksand/or certain flows of input/output data involved in eye tracking.Particularly processing tasks, to be specified in the following, arerelocated from the CPU to the graphics card, or more precisely, to agraphical processing unit (GPU) within the graphics card. This offloadsthe CPU and liberates resources for use by other processes. Besides, ifthe GPU performs better than the CPU for certain processing tasks, thenthe relocation of such tasks is likely to improve the overallperformance of the computer system. This is generally true of matrixoperations, image processing, compression and decompression of imagesand other algorithms susceptible of being performed by parallelcomputing facilities. It is well-known that GPUs are generallycharacterised by arithmetic excellence and high memory bandwidth. Moreprecisely, their pipeline architecture achieves high throughput at thecost of a relatively large latency; the latency time, however, isseveral orders of magnitude smaller than the millisecond time scale onwhich the human visual system operates and causes no difficulty in theeye-tracking context. From a more general point of view, there arefurther devices suitable for offloading the CPU, notably so-calledphysics modules or physics cards, whose primary use is to assist inheavy calculations involved in simulating systems according to the lawsof nature. Embodiments of the present invention may thus include, afterproper adaptation, a physics card in the same role as a graphics card.

Further, according to the invention, a signal encoding an image of theeye to be tracked is received at the graphics card. Because a number ofpreliminary processing steps can thus be performed by the graphics card,the amount of data reaching the CPU can be considerably decreased byfiltering out irrelevant image segments, pre-processing the image data,extracting coordinates of image features and the like. Additionally, thefact that the image signal is received at the graphics card, where it isprocessed, shortens the path of the input data flow, which wouldotherwise be transmitted over the USB interface, the internal bus andthe graphics port or over some other chain of connected motherboarddevices. This efficient routing of the input data flow constitutesanother advantage of the invention.

In a second aspect of the invention, there is provided acomputer-program product for carrying out the above method. In a thirdand fourth aspect of the invention, there are provided a gaze trackingsystem and a personal computer system (this term is to be understood asindicated above) in which such gaze tracking system is integrated. Thegaze tracking system comprises a visual display, a camera, a graphicscard, and a gaze-point determining module. Here, the gaze-pointdetermining module, which may be a software module having authority toallocate resources within the system, is operable to cause the system tofunction in accordance with the method set forth above. A fifth aspectof the invention relates to use of a graphics card for carrying outcertain tasks in connection with gaze tracking of an eye watching avisual display.

In one embodiment of the present invention, the graphics card extractsone or more image features in the corneo-scleral reflection of thescreen pattern. The graphics card then deduces the correspondingpositions of the one or more image features in the screen pattern fromthe display signal, which is provided to the visual display by thegraphics card itself. The coordinates of the image features before andafter reflection in the cornea are used to determine a position of theeye. As an alternative, the display signal can be taken as startingpoint and regions of the screen pattern—with deformation, mirroring etc.taken into account—can be searched for in the reflection. In someembodiments, also the orientation of the eye is deduced from thesecoordinates.

In another embodiment, the eye is illuminated by at least one referenceilluminator adapted to emit invisible light for producing a glint, asmall, distinct luminous reflection on the corneo-scleral surface of theeye. The position of the glint, which is deduced from the image of theeye, is used for determining the gaze point of the eye. Wavelengths inthe infrared (IR) and near-infrared (NIR) ranges are suitable forproducing glints. Coaxial or non-coaxial illuminators, respectively forproducing bright-pupil and dark-pupil eye images, may be applied, asconsidered appropriate. The reference illuminators may be integrated inthe visual display or arranged thereon in a detachable fashion.Advantageously, the reference illuminators are light-emitting diodes(LEDs) provided in fittings having hooks, clips, suction cups or similarmeans for securing them to the visual display. As an alternative, thereference illuminators may be provided behind the display screen andaligned with suitable partial apertures provided therein, as describedin EP 09 157106.

In a further embodiment, the image of the eye is received using animaging device which is synchronised with the visual display. If thevisual display responds to the display signal in real time, i.e., byplotting the image with zero or no time delay, then the display signalcan be used as a trigger to the imaging device. As an alternative, adedicated trigger signal can be provided to both devices.Synchronisation is beneficial to the image quality becausealiasing-related artefacts can be avoided by sampling the display imageat the same frequency as it is updated. Among such artefacts are timeoscillations of the (average) image intensity and steady or movingpatterns of light and dark horizontal stripes. In particular,synchronisation between the imaging device and the visual display can beused for interlacing a distinctive reference pattern with the regularscreen pattern. Advantageously, the regular screen pattern to beperceived by the human viewer occupies the largest part of a cycle whilethe reference pattern is displayed in a short time slot, invisibly to ahuman eye. The reference pattern may contain image features that can beextracted easily or may be devised to facilitate measurements of thegeometric deformation inflicted by the reflection. In particular, thereference pattern may include invisible light, such as NIR light,emitted by the visual display or by reference illuminators.

In an alternative embodiment, the imaging device is instead synchronisedwith at least one reference illuminator. Hence, as a first option, theillumination by he reference illuminator(s) can be provided in awell-defined time slot, thereby enabling energy-economical operation ofthe reference illuminator. As a second option, a high degree of contrastcan be achieved by subtracting the respective eye images with andwithout illumination by the reference illuminator.

In another alternative embodiment, the imaging device, the visualdisplay and one or more reference illuminators are all synchronised.Similarly to the interlacing of a distinct reference screen pattern, asoutlined above, the visual display and the reference illuminator(s) canbe operated in an alternating fashion, so as to reduce the total energyconsumption and to obtain separate eye images, one with the screenreflection and one with the reference illuminator reflection.

Features from two or more of the embodiments discussed in this sectioncan be combined without inconvenience unless they are clearlycomplementary. Likewise, the fact that two or more features are recitedin different claims does not preclude that these can be combined toadvantage.

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments of the present invention will now be described withreference to the accompanying drawings, on which:

FIG. 1 is a schematic drawing of an exemplary computer motherboard and agraphics card connected thereto;

FIG. 2 is a schematic drawing of a visual display producing a screenpattern including image features which are reflected on the cornea of aviewer's eye and then recorded by an imaging device; and

FIG. 3 shows several screen patterns and corresponding cornealreflections.

DETAILED DESCRIPTION OF EMBODIMENTS

The structure of a motherboard in a typical personal computer will nowbe described with reference to FIG. 1. The chipset, or core logic, ofthe computer consists of the northbridge 101, or (integrated) memorycontroller, and the southbridge 102, or input/output controller hub. Thenorthbridge 101 and southbridge 102 are communicatively connected by theinternal bus 150. The southbridge 102 is generally used as an interfacefor devices with lower data rates than the northbridge 101. Thus, inthis example, the southbridge 102 is connected to a basic input/outputsystem (BIOS) 130, Integrated Drive Electronics (IDE) bus 131, anIndustry Standard Architecture (ISA) bus 132, another legacy interface133 to provide backward compatibility, a Peripheral ComponentInterconnect (PCI) bus 134 and a USB interface 135. The northbridge 101,which generally handles high-speed devices, is connected to a CPU 110via a front-side bus 152 and to a random access memory unit 120 via amemory bus 153. Hence, for example, a data stream intended for the CPUand received at the USB interface 135 will be routed to the CPU 110 viathe internal bus 150 and the front-side bus 152.

On FIG. 1, there is further indicated a graphics card 140, which isconnected to the northbridge chip 101 via a graphics port 151, such asthe commonly used Accelerated Graphics Port (AGP) or PCI Express (PCIe)bus. The core component of the graphics card 140 is a GPU. A motherboardinterface 142 is connected to the graphics port 151. A video BIOS 144, avideo memory 145 and also, if an analogue visual display is to be drivenby the graphics card 140, a random access memory digital-to-analogueconverter 146 form part of the graphics card 140. The graphics card 140may comprise a media processor, such as a physics module for simulatingprocesses according to the laws of nature. An external interface 143allows a visual display and possibly other devices to be connected tothe graphics card 140.

FIG. 2 shows the optical situation of the gaze tracking measurements. Avisual display 210 produces a screen pattern including image features212. The features 212 are imaged as corneal reflections 226 on thecornea 222 or sclera 224 of a viewer's eye 220. An imaging device 230,which is preferably a digital camera or web camera, then optically mapsthe corneal reflections 226 to image points 234. In a simplified model,as shown on the drawing, the imaging of the camera 230 is determined bya (rear) nodal point 232 and an image plane 236. For clearness of thedrawing, only rays from image features 212 a, 212 b and 212 d areindicated. The drawing is not to scale; in a realistic situation a17-inch screen at 400 mm viewing distance give rise to a virtual imageof the screen that is about 4 mm high.

From the positions of the image points 234, the location of the eye 220can be computed. By finding the position of the pupil centre in theimage of the eye 220, the gaze direction can be determined using thepupil-centre corneal reflection theory (see, e.g., the article by E. D.Guestrin and M. Eizenmann in IEEE Transactions on BiomedicalEngineering, vol. 53, no. 6 (Jun. 2006), which is included herein byreference). As an alternative, if the calculations are based on a morerefined, aspherical cornea model—according to which the human cornea isnot rotationally symmetric—it may be possible to find the gaze directionprovided a sufficient number of pairs of image points 234 and imagefeatures 212 can be extracted (see EP 09 157106). In addition to thisgeometric mapping method, useful approaches for finding the gaze angleinclude statistical models and learning algorithms—in particular neuralnetworks—support vector machine (SVM) methods and Viola-Jonesalgorithms.

Any kind of visual display 210 can be used as long as its luminosityallows the imaging device 230 to record the screen pattern reflectionwith sufficient image quality. As already noted, the visual display 210may be provided with reference illuminators, possibly emitting light inan invisible wavelength range, behind or around its screen surface.

As regards the imaging device 230, both integrated and detachabledevices may be used. The sensitivity wavelength range of the device isadapted according to whether the display 210 is equipped withsupplementary reference illuminators. Preferably, to achieve anefficient routing of the input data flow, the imaging device 230 isconnected directly to the external interface 143 of the graphics card140, to which is connected the visual display 210 too. Alternatively,the imaging device 230 is connected by a USB (version 2.0 or 3.0) port,by an IEEE 1394 interface (FireWire) or by a CameraLink interface.

A preferred embodiment of an eye tracking system integrated in a laptoppersonal computer will now be described. As already noted, one can usestandard visual display 210 and imaging device 230 after carefulmatching to the eye tracking application. In the preferred embodiment,the imaging device 230 is a camera arranged above the visual display ofthe computer. The sensitivity of the camera extends into the NIR range,and an NIR light source (not shown) is provided coaxially to the camera,so that a bright-pupil eye image can be provided. The camera issynchronised with the visual display and the NIR light source, such asby forwarding the clock signal (possibly amplified) of the GPU to thesethree devices. Whereas the visual display 210 operates at a refresh rateof 60 Hz, every 30^(th) cycle is used for displaying a distinctivereference pattern and for acquiring an eye image using the camera.Because the retina has a longer integration time than 1/60 second, atleast in normal indoors conditions of lighting, the reference patternwill not be perceived by the viewer. It is important, however, that theintegration time of the camera does not exceed one cycle. This choice ofparameter values apparently provides for the sampling of two eye imagesper seconds. The sampling rate can be increased, but possibly at therisk of a flickering screen image. Use of a faster imaging device and adisplay with higher refresh rate may alleviate such problems.

The reference pattern may be any high-contrast arrangement of easilyextractible image features. For example, with reference to FIG. 3,starting from a regular screen pattern 310, a bright frame 321 (with aline width of a few millimetres) can be overlaid at the perimeter of thescreen 320, leaving the inner portion 322 of the screen pattern intact.In the reflection 330 of the overlaid screen pattern, which appears onthe cornea across the pupil 390 and the iris 391, the reflected brightframe 331 is easier to detect than the reflected inner portion 332 ofthe screen. As an alternative, a grid 340 of vertical and horizontallines has intersections that provides distinctive control points and canbe easily retrieved in the reflection 350 of the grid. The grid 340provides additional information on the local deformation of the image,and hence of the position and orientation of the corneo-scleral surface390, 391, 392.

As another alternative, a visual display 360, which may be a standardthin-film transistor liquid-crystal display, is surrounded by a portion361 in which a plurality of light-emitting diodes (LEDs) 362 arearranged. Preferably, the LEDs 362 are adapted to emit NIR, and arecovered by a plate that is transparent to NIR but not to light in thevisible wavelength range. Thus, the LEDs 362 are hidden from a viewer ofthe display 360. The LEDs 362, which may be operated synchronously withthe camera as outlined above, give rise to distinct reflections 372 inthe corneo-scleral surface 390, 391, 392.

In the preferred embodiment, the camera is directly connected to thegraphics card 140, which receives an image signal at the externalinterface 143. The image signal is not forwarded to the CPU directly,but is preprocessed by the GPU 141.

As a first pre-processing step, the image signal, which is provided in acompressed format to economise bandwidth in the camera-computer link, isdecompressed using built-in routines of the GPU 141.

A second pre-processing step concerns subtraction and is effectuatedonly in bright-pupil imaging. The image used for further processing isobtained from a bright-pupil eye image acquired with the coaxial NIRlight source active and a dark-pupil eye image acquired nearby in timewith the light source turned off. To increase contrast, the dark-pupilimage is subtracted pixel-wise from the bright-pupil image so as tobring out the NIR contribution, notably the retinal reflection throughthe pupil. Because the graphics card 140 contains enough memory forstoring complete images, it is advantageous to perform the task of imagesubtraction at the graphics card 140.

In a third pre-processing step, image features in the corneo-scleralreflection are extracted and paired with corresponding coordinates inthe screen pattern, in accordance with the display signal currentlyprovided to the visual display by the graphics card 140. (Sincereflection on the curved cornea surface may deform the screen patternseverely, this order of actions is preferable to extracting featuresfrom the screen pattern and retrieving these in the reflection.) Theextraction of image features may use edge detection filters like Sobelfilters and connected components or Canny filters or statistical methodslike classification algorithms, particularly entropy-based imagesegmentation algorithms, which are of a parallelisable character andthus well suited for being executed by the GPU 141. Object recognitionmay be performed according to the teachings of chapter 7 in M. Sonka, V.Hlavac and R. Boyle, Image processing analysis, and machine vision,Brooks/Cole Publishing Company (1999). Moreover, the extraction may bepreceded by a conditioning step of (Sobel) differentiation, someappropriate convolution or correlation operations, or histogram-basedbrightness correction, which are all highly parallelisable operations.In bright-pupil images, the pupil-centre coordinates are retrievedsimilarly. It is noted that reference illuminators, if such areprovided, and their corneo-scleral glints can be included in the dataprocessing in an analogous manner as image features, in this step aswell as in the subsequent ones.

The pairs of coordinates of image features and their reflections areused for computing the gaze direction, that is, the actual position ofthe visual axis of the eye. The computations may further take thepupil-centre coordinates into account. The computational tasksassociated with geometric mapping methods are outlined in section II ofthe work by Guestrin and Eizenman, and include operations on bothscalars and matrices. The estimation of cornea position and corneaorientation involves solving systems of linear equations, in particularover-determined systems.

A gaze-point determining module 111, which may be a hardware module butis preferably a software program executed by the CPU 110, is authorisedby the operating system of the computer to allocate the data processingand storage tasks in the eye tracking and to route the input/output dataflows. As a general rule—which should be adapted to the actual GPUused—occasional scalar operations are handled more efficiently by theCPU 110, while matrix computations and other numerical linear algebraoperations are best performed by the GPU 141, which is often capable ofavoiding iterative processing. It is noted that some available GPUsperform optimally for matrices that are square or have certaindimension; the matrices can then be given the desired form by paddingthe data entries with zeros. Regarding possible implementations oflinear algebra routines in a GPU, reference is made to J. Kruger and R.Westermann, “Linear algebra operators for GPU implementation ofnumerical algorithms”, ACM Trans. Graph., vol. 22, no. 3 (Jul. 2003) andN. Galoppo et al., “LU-GPU: Efficient algorithms for solving denselinear systems on graphics hardware”, Proc. ACM/IEEE Conf. Supercomput.,Nov. 2005, both of which are included herein by reference in theirentirety. As an alternative, the location and orientation of the corneaare found using built-in ray-tracing routines in the GPU 141. Indeed, byrequiring light rays connecting the image features 212 and correspondingpoints in the image plane 236 of the imaging device 230 to pass viareflection on the cornea 222, the location and orientation of the latteris well defined once a sufficient number of image features 212 areknown. Finding the cornea can take place as an iterative process, inwhich location and orientation parameters are successively refined untilthe image features and reflections match each other within a desiredtolerance. Many available GPUs offer very fast hard-wired or soft-wiredray-tracing routines, which implies that high accuracy can be achievedin limited time.

As regards other approaches to calculating the gaze angle, it ispreferable to express the computations in a form suitable for parallelcomputing, such as stream programming. As an example, theparallelisation of a Viola—Jones algorithm is discussed in O. MateoLozano and K. Otsuka, Simultaneous and fast 3D tracking of multiplefaces in video by GPU-based stream processing, International Conferenceon Acoustics, Speech, and Signal Processing 2008.

The visual axis of the eye is deduced from the location and orientationof the cornea, possibly supplemented by the pupil-centre location, andthe gaze point is the intersection of the visual axis and the displayscreen surface.

In steady-state operation of the eye-tracking system according to thepreferred embodiment, the procedure outlined in the last few paragraphsis repeated for each eye image or even performed in a streaming fashion.

Characteristic of the eye tracking system is that the CPU 110 executes acomparatively small part of the computations and, further, that the eyetracking processes only makes a limited contribution to the data flowbetween the graphics card 140 and the CPU 110 via the northbridge 101.

While the invention has been illustrated and described in detail in thedrawings and foregoing description, such illustration and descriptionare to be considered illustrative or exemplary and not restrictive; theinvention is not limited to the disclosed embodiments. For example,embodiments of the present invention can also include dual imagingdevices in order to increase image contrast or to enable simultaneousimaging coaxially and non-coaxially with the light source. By providingwavelength filters at the imaging devices, corneo-scleral reflections indifferent wavelength ranges can be efficiently separated. Likewise, theprocessing tasks of the gaze tracking computations can be apportionedbetween the CPU and the graphics card in a different manner thandisclosed herein depending on the characteristics of these devices in aparticular application.

Other variations to the disclosed embodiments can be understood andeffectuated by those skilled in the art in practicing the claimedinvention, from a study of the drawings, the disclosure, and theappended claims. In the claims, the word ‘comprising’ does not excludeother elements or steps, and the indefinite article ‘a’ or ‘an’ does notexclude a plurality. A single processor or other unit may fulfil thefunctions of several items received in the claims. The mere fact thatcertain measures are recited in mutually different dependent claims doesnot indicate that a combination of these measured cannot be used toadvantage. A computer program may be stored or distributed on a suitablemedium, such as an optical storage medium or a solid-state mediumsupplied together with or as part of other hardware, but may also bedistributed in other forms, such as via the Internet or other wired orwireless telecommunication systems. Any reference signs in the claimsshould not be construed as limiting the scope.

1-17. (canceled)
 18. A method of determining a gaze point of an eyewatching a visual display controllable by a display signal, the methodcomprising: generating a display signal using a graphics card in orderfor the visual display to produce a screen pattern; receiving a signalencoding an image of the eye including a corneo-scleral reflection ofthe screen pattern; and determining, based on in part the geometry ofsaid corneo-scleral reflection of the screen pattern, a gaze point ofthe eye, wherein said determining a gaze point includes utilizing thegraphics card as a parallel processor.
 19. A method according to claim18, wherein the graphics card receives, directly from the imagingdevice, the signal encoding an image of the eye including acorneo-scleral reflection of the screen pattern.
 20. A method accordingto claim 18, wherein said determining a gaze point comprises:extracting, using the graphics card, one or more image features in saidcorneo-scleral reflection of the screen pattern; and comparing, usingthe graphics card, said one or more image features with the displaysignal in order to retrieve these in the screen pattern.
 21. A methodaccording to claim 18, further comprising: illuminating the eye byinvisible light from at least one reference illuminator, wherein: theimage of the eye further includes a glint produced by said at least onereference illuminator; and said determining a gaze point is furtherbased on the position of the glint.
 22. A method according to claim 18,wherein the image of the eye is received from an imaging device which issynchronized with the visual display and/or a reference illuminator. 23.A method according to claim 21, wherein the image of the eye is receivedfrom an imaging device which is synchronized with the visual displayand/or a reference illuminator.
 24. A method according to claim 22 or23, further comprising: repeatedly interlacing the screen pattern with adistinctive reference pattern.
 25. A method according to claim 18,wherein said receiving an image comprises decompressing a compressedimage format.
 26. A computer-readable medium containing instructionswhich when executed on a general-purpose computer perform the method ofclaim
 18. 27. A gaze tracking system, comprising: a visual displaycontrollable by a display signal; an imaging device adapted to image theface of a viewer of the visual display; and a graphics card adapted togenerate a display signal for causing said visual display to produce ascreen pattern, said system characterized in a gaze-point determiningmodule adapted to use the graphics card as a parallel processor todetermine a gaze point of the viewer's eye based on in part the geometryof a corneo-scleral reflection of the screen pattern using an image ofthe viewer's eye containing said corneo-scleral reflection of the screenpattern, said image being received from the imaging device.
 28. A gazetracking system according to claim 27, wherein the gaze-pointdetermining module is operable to cause the graphics card to receive,directly from the imaging device, an image of the viewer's eyecontaining a corneo-scleral reflection of the screen pattern.
 29. A gazetracking system according to claim 28, wherein the graphics card isfurther adapted to: extract image features in said corneo-scleralreflection of the screen pattern; and compare said image features withthe display signal in order to retrieve these in the screen pattern. 30.A gaze tracking system according to claim 27, further comprising one ormore reference illuminators, each being adapted to emit invisible lightin order to produce a glint on a viewer's eye, wherein the gaze trackingsystem is adapted to determine a gaze point of the viewer's eye furtherbased on the position of the glint.
 31. A gaze tracking system accordingto claim 30, wherein said one or more reference illuminators aredetachable.
 32. A gaze tracking system according to claim 26, whereinthe imaging device is synchronized with the visual display and/or areference illuminator.
 33. A gaze tracking system according to claim 30,wherein the imaging device is synchronized with the visual displayand/or a reference illuminator.
 34. A gaze tracking system according toclaim 32 or 33, wherein the graphics card is adapted to repeatedlyinterlace the screen pattern of the visual display with a distinctivereference pattern.
 35. A personal computer system comprising a gazetracking system according to claim
 27. 36. Use of a graphics card in acomputer system determining the gaze point of an eye watching a visualdisplay, for carrying out at least the following tasks: providing adisplay signal to said visual display causing this to produce a screenpattern; receiving an image of the eye including a corneo-scleralreflection of the screen pattern; and assisting in determining a gazepoint of the eye based on in part the geometry of said corneo-scleralreflection of the screen pattern.